using System;
using System.Collections.Generic;
using System.Text;

namespace MakeIT.SGI.ERP.Entidades
{
	public class ContratoVO
	{
		// Impedir o uso de new para esta classe
		protected ContratoVO() { }

		// Cria uma instancia desta classe
		public static ContratoVO CreateVO()
		{
			ContratoVO contrato = new ContratoVO();
			contrato.idFilialVO = FilialVO.CreateVO();
			contrato.idFormaPgtoVO = FormapgtoVO.CreateVO();
			contrato.idCCustoVO = CcustoVO.CreateVO();
			contrato.idCClucroVO = ClucroVO.CreateVO();
			contrato.idFornecedorVO = FornecedorVO.CreateVO();
			contrato.idClienteVO = ClienteVO.CreateVO();
			return contrato;
		}
		public static ContratoVO CreateVO(int idContrato)
		{
			ContratoVO obj = CreateVO();
			obj.idContrato = idContrato;
			return obj;
		}
		// Descrição amigavel do conteudo deste objeto
		public override string ToString()
		{
			return (idContrato!=null?idContrato.ToString():"");
		}
		// Retorna PK concatenada com ";"
		public string PKString
		{
			get { return idContrato.ToString(); }
		}

		#region MEMBROS DA CLASSE
		public int idContrato
		{
			get { return this._idContrato; }
			set { this._idContrato = value; }
		}
		private int _idContrato;
		public int idFilial
		{
			get { return this._idFilial; }
			set { this._idFilial = value; 
			      if(value!=null) this.idFilialVO.idFilial = (int)value; }
		}
		private int _idFilial;
		public string desc
		{
			get { return this._desc; }
			set { this._desc = value; }
		}
		private string _desc;
		public DateTime vcto
		{
			get { return this._vcto; }
			set { this._vcto = value; }
		}
		private DateTime _vcto;
		public bool? natureza
		{
			get { return this._natureza; }
			set { this._natureza = value; }
		}
		private bool? _natureza;
		public int parcelas
		{
			get { return this._parcelas; }
			set { this._parcelas = value; }
		}
		private int _parcelas;
		public int intervalo
		{
			get { return this._intervalo; }
			set { this._intervalo = value; }
		}
		private int _intervalo;
		public decimal valor
		{
			get { return this._valor; }
			set { this._valor = value; }
		}
		private decimal _valor;
		public string nrDoc
		{
			get { return this._nrDoc; }
			set { this._nrDoc = value; }
		}
		private string _nrDoc;
		public string separador
		{
			get { return this._separador; }
			set { this._separador = value; }
		}
		private string _separador;
		public int? incremento
		{
			get { return this._incremento; }
			set { this._incremento = value; }
		}
		private int? _incremento;
		public int? idFormaPgto
		{
			get { return this._idFormaPgto; }
			set { this._idFormaPgto = value; 
			      if(value!=null) this.idFormaPgtoVO.idFormaPgto = (int)value; }
		}
		private int? _idFormaPgto;
		public int? idCCusto
		{
			get { return this._idCCusto; }
			set { this._idCCusto = value; 
			      if(value!=null) this.idCCustoVO.idCCusto = (int)value; }
		}
		private int? _idCCusto;
		public int? idCClucro
		{
			get { return this._idCClucro; }
			set { this._idCClucro = value; 
			      if(value!=null) this.idCClucroVO.idCLucro = (int)value; }
		}
		private int? _idCClucro;
		public int? idFornecedor
		{
			get { return this._idFornecedor; }
			set { this._idFornecedor = value; 
			      if(value!=null) this.idFornecedorVO.idFornecedor = (int)value; }
		}
		private int? _idFornecedor;
		public int? idCliente
		{
			get { return this._idCliente; }
			set { this._idCliente = value; 
			      if(value!=null) this.idClienteVO.idCliente = (int)value; }
		}
		private int? _idCliente;
		public DateTime cadastro
		{
			get { return this._Cadastro; }
			set { this._Cadastro = value; }
		}
		private DateTime _Cadastro;
		public string cadastradoPor
		{
			get { return this._CadastradoPor; }
			set { this._CadastradoPor = value; }
		}
		private string _CadastradoPor;
		public DateTime edicao
		{
			get { return this._Edicao; }
			set { this._Edicao = value; }
		}
		private DateTime _Edicao;
		public string editadoPor
		{
			get { return this._EditadoPor; }
			set { this._EditadoPor = value; }
		}
		private string _EditadoPor;
		public FilialVO idFilialVO
		{
			get { return this._idFilialVO; }
			set { this._idFilialVO = value; }
		}
		private FilialVO _idFilialVO;
		public FormapgtoVO idFormaPgtoVO
		{
			get { return this._idFormaPgtoVO; }
			set { this._idFormaPgtoVO = value; }
		}
		private FormapgtoVO _idFormaPgtoVO;
		public CcustoVO idCCustoVO
		{
			get { return this._idCCustoVO; }
			set { this._idCCustoVO = value; }
		}
		private CcustoVO _idCCustoVO;
		public ClucroVO idCClucroVO
		{
			get { return this._idCClucroVO; }
			set { this._idCClucroVO = value; }
		}
		private ClucroVO _idCClucroVO;
		public FornecedorVO idFornecedorVO
		{
			get { return this._idFornecedorVO; }
			set { this._idFornecedorVO = value; }
		}
		private FornecedorVO _idFornecedorVO;
		public ClienteVO idClienteVO
		{
			get { return this._idClienteVO; }
			set { this._idClienteVO = value; }
		}
		private ClienteVO _idClienteVO;
		#endregion
	}
}
